// 新建菜单
import { IsEnum, IsNotEmpty, IsOptional } from 'class-validator';
import { ApiProperty, ApiPropertyOptional, IntersectionType } from '@nestjs/swagger';

export class AddDto {
  // 节点类型 nodetype
  // 必填
  @ApiProperty({ description: '节点类型' })
  @IsNotEmpty({ message: '节点类型不能为空' })
  @IsEnum(['目录', '菜单', '按钮'])
  nodetype: string;

  // 业务端 business
  // 必填
  @ApiProperty({ description: '业务端' })
  @IsNotEmpty({ message: '业务端不能为空' })
  @IsEnum(['PC端', 'APP端'])
  business: string;

  // 节点名称 name
  // 必填
  @ApiProperty({ description: '节点名称' })
  @IsNotEmpty({ message: '节点名称不能为空' })
  name: string;

  // 权限标识 permission
  // 必填
  @ApiProperty({ description: '权限标识' })
  @IsNotEmpty({ message: '权限标识不能为空' })
  permission: string;

  // 节点说明 description
  // 可选
  @ApiPropertyOptional({ description: '节点说明' })
  @IsOptional()
  description: string;

  // 节点路由 route
  // 可选
  @ApiPropertyOptional({ description: '节点路由' })
  @IsOptional()
  route: string;

  // 上级节点 标识 parent
  // 可选
  @ApiPropertyOptional({ description: '上级节点标识 填写permission' })
  @IsOptional()
  parent: string;
}
